package com.monitor.search;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.monitor.pubInter.BaseSearch;
import com.monitor.model.WechatAccount;
import java.util.Date;
import java.util.List;
import java.math.BigDecimal;
import lombok.Data;
/**
*   @author sunke
*   @Date 2025-04-01 10:48:38
*   @description WechatAccountSearch      微信账号
*/


@Data
@ApiModel("微信账号WechatAccountSearch")
public abstract class WechatAccountSearch<Sub extends WechatAccountSearch<Sub>> extends BaseSearch {
    @ApiModelProperty(value = "主键")
    private List idIn;
    @ApiModelProperty(value = "大于排序")
    private Integer sortNumGreater;
    @ApiModelProperty(value = "小于排序")
    private Integer sortNumLess;
    @ApiModelProperty(value = "是否显示 1:是:Y,0:否:N")
    private List showFlagIn;
    @ApiModelProperty(value = "是否删除 1:删除:Y,0:正常:N")
    private Integer delFlagEq=0;
    @ApiModelProperty(value = "微信id")
    private String wechatIdLike;
    @ApiModelProperty(value = "账号id")
    private String accountEq;
    @ApiModelProperty(value = "昵称")
    private String nicknameLike;
    @ApiModelProperty(value = "注册手机号")
    private String phoneLike;
    @ApiModelProperty(value = "用户id")
    private String ykUserIdLike;
    @ApiModelProperty(value = "使用手机号")
    private String userPhoneLike;
    @ApiModelProperty(value = "头像")
    private String headUrlLike;
    @ApiModelProperty(value = "别名")
    private String aliasLike;

    public WechatAccountSearch() {
        setDelFlagEq(0);
    }



    /**
    * 返回子类Sub
    * @return
    */
    public abstract Sub getSubThis();

    @Override
    public String createTimeFiled() {
        return WechatAccount.CREATE_TIME;
    }
    @Override
    public String updateTimeFiled() {
        return WechatAccount.UPDATE_TIME;
    }
    @Override
    public String  setDefaultField() {
        return WechatAccount.CREATE_TIME;
    }
    @Override
    public String pkField() {
        return WechatAccount.ID;
    }

    @Override
    public String  toString() {
        return "WechatAccountSearch{}"+super.toString();
    }
    public Sub setIdIn(List idIn){
        this.idIn = idIn;
        setInField(WechatAccount.ID, idIn);
        return getSubThis();
    }
    public Sub setSortNumGreater(Integer sortNumGreater){
        this.sortNumGreater = sortNumGreater;
        setGreaterField(WechatAccount.SORT_NUM, sortNumGreater);
        return getSubThis();
    }
    public Sub setSortNumLess(Integer sortNumLess){
        this.sortNumLess = sortNumLess;
        setLessField(WechatAccount.SORT_NUM, sortNumLess);
        return getSubThis();
    }
    public Sub setShowFlagIn(List showFlagIn){
        this.showFlagIn = showFlagIn;
        setInField(WechatAccount.SHOW_FLAG, showFlagIn);
        return getSubThis();
    }
    public Sub setDelFlagEq(Integer delFlagEq){
        this.delFlagEq = delFlagEq;
        setEqualField(WechatAccount.DEL_FLAG, delFlagEq);
        return getSubThis();
    }
    public Sub setWechatIdLike(String wechatIdLike){
        this.wechatIdLike = wechatIdLike;
        setLikeField(WechatAccount.WECHAT_ID, wechatIdLike);
        return getSubThis();
    }
    public Sub setAccountEq(String accountEq){
        this.accountEq = accountEq;
        setEqualField(WechatAccount.ACCOUNT, accountEq);
        return getSubThis();
    }
    public Sub setNicknameLike(String nicknameLike){
        this.nicknameLike = nicknameLike;
        setLikeField(WechatAccount.NICKNAME, nicknameLike);
        return getSubThis();
    }
    public Sub setPhoneLike(String phoneLike){
        this.phoneLike = phoneLike;
        setLikeField(WechatAccount.PHONE, phoneLike);
        return getSubThis();
    }
    public Sub setYkUserIdLike(String ykUserIdLike){
        this.ykUserIdLike = ykUserIdLike;
        setLikeField(WechatAccount.YK_USER_ID, ykUserIdLike);
        return getSubThis();
    }
    public Sub setUserPhoneLike(String userPhoneLike){
        this.userPhoneLike = userPhoneLike;
        setLikeField(WechatAccount.USER_PHONE, userPhoneLike);
        return getSubThis();
    }
    public Sub setHeadUrlLike(String headUrlLike){
        this.headUrlLike = headUrlLike;
        setLikeField(WechatAccount.HEAD_URL, headUrlLike);
        return getSubThis();
    }
    public Sub setAliasLike(String aliasLike){
        this.aliasLike = aliasLike;
        setLikeField(WechatAccount.ALIAS, aliasLike);
        return getSubThis();
    }
}